package com.ishare.common.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

/**
 * @description: 菜单VO
 * @author: DENGMINGWEN
 * @time: 2021/3/4 16:31
 */
@ApiModel("菜单VO")
public class MenuVO implements Serializable {

    private static final long serialVersionUID = -3036076700607910942L;
    /**
     * 菜单id
     */
    @ApiModelProperty(value = "菜单id")
    private Long id;

    /**
     * 父级id
     */
    @ApiModelProperty(value = "父级id")
    private Long pid;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称")
    private String name;

    /**
     * 菜单icon
     */
    @ApiModelProperty(value = "菜单icon")
    private String icon;

    /**
     * 匹配 router.map.js 中注册名
     */
    @ApiModelProperty(value = "注册名")
    private String router;

    /**
     * 路由的 path 属性
     */
    @ApiModelProperty(value = "菜单id")
    private String path;

    /**
     * 0 不隐藏，1 隐藏
     */
    @ApiModelProperty(value = "0 不隐藏，1 隐藏")
    private Integer invisible;

    /**
     * 权限
     */
    @ApiModelProperty(value = "权限")
    private String permission;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 上级菜单
     */
    @ApiModelProperty(value = "上级菜单")
    private String supMenu;

    /**
     * 子菜单
     */
    @ApiModelProperty(value = "子菜单")
    private List<MenuVO> children;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getRouter() {
        return router;
    }

    public void setRouter(String router) {
        this.router = router;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Integer getInvisible() {
        return invisible;
    }

    public void setInvisible(Integer invisible) {
        this.invisible = invisible;
    }

    public String getPermission() {
        return permission;
    }

    public void setPermission(String permission) {
        this.permission = permission;
    }

    public String getSupMenu() {
        return supMenu;
    }

    public void setSupMenu(String supMenu) {
        this.supMenu = supMenu;
    }

    public List<MenuVO> getChildren() {
        return children;
    }

    public void setChildren(List<MenuVO> children) {
        this.children = children;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    @Override
    public String toString() {
        return "MenuVO{" +
                "id=" + id +
                ", pid=" + pid +
                ", name='" + name + '\'' +
                ", icon='" + icon + '\'' +
                ", router='" + router + '\'' +
                ", path='" + path + '\'' +
                ", invisible=" + invisible +
                ", permission='" + permission + '\'' +
                ", sort=" + sort +
                ", supMenu='" + supMenu + '\'' +
                ", children=" + children +
                '}';
    }
}
